home *** CD-ROM | disk | FTP | other *** search
- #
- # This is a valgrind suppression file that should be used when using valgrind.
- #
- # ---------------------------------------------------------------------------
- # Debian note:
- # The file Misc/valgrind-python.supp is placed in an modified form into the
- # directory /usr/lib/valgrind as python.supp. There's no need to to add it
- # with the --suppressions option.
- # The unmodified file is found in /usr/share/doc/python2.6/
- #
- # The python2.6-dbg build has been compiled with -DPy_USING_MEMORY_DEBUGGER
- # so you can safely comment out the suppressions for PyObject_Free and
- # PyObject_Realloc.
- # ---------------------------------------------------------------------------
-
- # Here's an example of running valgrind:
- #
- # cd python/dist/src
- # valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
- # ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
- #
- # You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
- # to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
- #
- # If you do not want to recompile Python, you can uncomment
- # suppressions for PyObject_Free and PyObject_Realloc.
- #
- # See /usr/share/doc/python2.6/README.valgrind for more information.
-
- # all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
- {
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Addr4
- fun:Py_ADDRESS_IN_RANGE
- }
-
- {
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Value4
- fun:Py_ADDRESS_IN_RANGE
- }
-
- {
- ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
- Memcheck:Value8
- fun:Py_ADDRESS_IN_RANGE
- }
-
- {
- ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- Memcheck:Cond
- fun:Py_ADDRESS_IN_RANGE
- }
-
- #
- # Leaks (including possible leaks)
- # Hmmm, I wonder if this masks some real leaks. I think it does.
- # Will need to fix that.
- #
-
- {
- Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_allocate_lock
- fun:PyEval_InitThreads
- }
-
- {
- Suppress leaking the GIL after a fork.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_allocate_lock
- fun:PyEval_ReInitThreads
- }
-
- {
- Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_create_key
- fun:_PyGILState_Init
- fun:Py_InitializeEx
- fun:Py_Main
- }
-
- {
- Hmmm, is this a real leak or like the GIL?
- Memcheck:Leak
- fun:malloc
- fun:PyThread_ReInitTLS
- }
-
- {
- Handle PyMalloc confusing valgrind (possibly leaked)
- Memcheck:Leak
- fun:realloc
- fun:_PyObject_GC_Resize
- fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
- }
-
- {
- Handle PyMalloc confusing valgrind (possibly leaked)
- Memcheck:Leak
- fun:malloc
- fun:_PyObject_GC_New
- fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
- }
-
- {
- Handle PyMalloc confusing valgrind (possibly leaked)
- Memcheck:Leak
- fun:malloc
- fun:_PyObject_GC_NewVar
- fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
- }
-
- #
- # Non-python specific leaks
- #
-
- {
- Handle pthread issue (possibly leaked)
- Memcheck:Leak
- fun:calloc
- fun:allocate_dtv
- fun:_dl_allocate_tls_storage
- fun:_dl_allocate_tls
- }
-
- {
- Handle pthread issue (possibly leaked)
- Memcheck:Leak
- fun:memalign
- fun:_dl_allocate_tls_storage
- fun:_dl_allocate_tls
- }
-
- ###{
- ### ADDRESS_IN_RANGE/Invalid read of size 4
- ### Memcheck:Addr4
- ### fun:PyObject_Free
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Invalid read of size 4
- ### Memcheck:Value4
- ### fun:PyObject_Free
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- ### Memcheck:Cond
- ### fun:PyObject_Free
- ###}
-
- ###{
- ### ADDRESS_IN_RANGE/Invalid read of size 4
- ### Memcheck:Addr4
- ### fun:PyObject_Realloc
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Invalid read of size 4
- ### Memcheck:Value4
- ### fun:PyObject_Realloc
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- ### Memcheck:Cond
- ### fun:PyObject_Realloc
- ###}
-
- ###
- ### All the suppressions below are for errors that occur within libraries
- ### that Python uses. The problems to not appear to be related to Python's
- ### use of the libraries.
- ###
-
- {
- Generic ubuntu ld problems
- Memcheck:Addr8
- obj:/lib/ld-2.4.so
- obj:/lib/ld-2.4.so
- obj:/lib/ld-2.4.so
- obj:/lib/ld-2.4.so
- }
-
- {
- Generic gentoo ld problems
- Memcheck:Cond
- obj:/lib/ld-2.3.4.so
- obj:/lib/ld-2.3.4.so
- obj:/lib/ld-2.3.4.so
- obj:/lib/ld-2.3.4.so
- }
-
- {
- DBM problems, see test_dbm
- Memcheck:Param
- write(buf)
- fun:write
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- fun:dbm_close
- }
-
- {
- DBM problems, see test_dbm
- Memcheck:Value8
- fun:memmove
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- fun:dbm_store
- fun:dbm_ass_sub
- }
-
- {
- DBM problems, see test_dbm
- Memcheck:Cond
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- fun:dbm_store
- fun:dbm_ass_sub
- }
-
- {
- DBM problems, see test_dbm
- Memcheck:Cond
- fun:memmove
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- obj:/usr/lib/libdb1.so.2
- fun:dbm_store
- fun:dbm_ass_sub
- }
-
- {
- GDBM problems, see test_gdbm
- Memcheck:Param
- write(buf)
- fun:write
- fun:gdbm_open
-
- }
-
- {
- ZLIB problems, see test_gzip
- Memcheck:Cond
- obj:/lib/libz.so.1.2.3.3
- obj:/lib/libz.so.1.2.3.3
- fun:deflate
- }
-
- {
- Avoid problems w/readline doing a putenv and leaking on exit
- Memcheck:Leak
- fun:malloc
- fun:xmalloc
- fun:sh_set_lines_and_columns
- fun:_rl_get_screen_size
- fun:_rl_init_terminal_io
- obj:/lib/libreadline.so.6.1
- fun:rl_initialize
- }
-
- ###
- ### These occur from somewhere within the SSL, when running
- ### test_socket_sll. They are too general to leave on by default.
- ###
- ###{
- ### somewhere in SSL stuff
- ### Memcheck:Cond
- ### fun:memset
- ###}
- ###{
- ### somewhere in SSL stuff
- ### Memcheck:Value4
- ### fun:memset
- ###}
- ###
- ###{
- ### somewhere in SSL stuff
- ### Memcheck:Cond
- ### fun:MD5_Update
- ###}
- ###
- ###{
- ### somewhere in SSL stuff
- ### Memcheck:Value4
- ### fun:MD5_Update
- ###}
-
- #
- # All of these problems come from using test_socket_ssl
- #
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:BN_bin2bn
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:BN_num_bits_word
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- fun:BN_num_bits_word
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:BN_mod_exp_mont_word
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:BN_mod_exp_mont
- }
-
- {
- from test_socket_ssl
- Memcheck:Param
- write(buf)
- fun:write
- obj:/usr/lib/libcrypto.so.0.9.8
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:RSA_verify
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- fun:RSA_verify
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- fun:DES_set_key_unchecked
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- fun:DES_encrypt2
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- obj:/usr/lib/libssl.so.0.9.8
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- obj:/usr/lib/libssl.so.0.9.8
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:BUF_MEM_grow_clean
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:memcpy
- fun:ssl3_read_bytes
- }
-
- {
- from test_socket_ssl
- Memcheck:Cond
- fun:SHA1_Update
- }
-
- {
- from test_socket_ssl
- Memcheck:Value4
- fun:SHA1_Update
- }
-
-
-